'use strict';

var initDb = require('./utils/initDb');

initDb();
var article = require('./models/articles');

// for(let index = 0 ; index<250 ; index+=25){
//     var URL = 'https://book.douban.com/top250?start='+index;

    var Crawler = require('crawler');

    var c = new Crawler({
    reteLimit:2000,
    maxConnections : 10,
    callback : function(error,res,done){
        if(error){
            console.log(error);
        }else{
            var $ = res.$;
            var list = $('#content .article table').toArray();

            list.forEach(element => {
                var txt = $(element).find(' .pl2 a ').text().trim().replace(/[ \n\r]/g,'');
                var txt1 = $(element).find(' .pl ').text().trim().replace(/([/][^/]+)/g,'');
                var txt2 = $(element).find(' .inq ').text().trim().replace(/[ \n\r]/g,'');
                article.create({title:txt,author:txt1,Introduction:txt2});
                console.log(txt,txt1,txt2);

                //console.log(list.length);
                //console.log(txt);
            });
            //console.log(list);

            // const txtlength = list.length;
            // console.log(txtlength);
            // $('a').each(function () {
            // var murl = $(this).attr('href');
            // console.log(murl);
            // });

            console.log($("title","author","Introduction").text());
        }
        done();
    }
});
//c.queue(URL);
// }

// c.queue([{
//     uri: 'https://book.douban.com/top250?start=0',
//     jQuery: true,
//     callback: function (error, res, done) {
//         if(error){
//             console.log(error);
//         }else{
//             var $ = res.$;   // 这就可以想使用jQuery一个解析DOM了
//             var total_pag = 0;
//             $('.paginator a').each(function(index,item){
//                     if ($(item).text() == '10') {
//                         total_pag = $(item).attr('href');
//                         var regexp = /[0-9]+/g;
//                         total_pag = total_pag.match(regexp)[0]; // 总页数
//                     }
//             })
//             console.log(total_pag);
//         }
//         done();
//     }
// }]);

// function downloadContent(i,c){
//     var uri = 'https://book.douban.com/top250?start=' + i;
//     c.queue([{
//         uri: uri,
//         jQuery: true,
//         callback: function (error, res, done) {
//             if(error){
//                 console.log(error);
//             }else{
//                 var $ = res.$;
//                 var meiziSql = '';
//                 $('#content .article table').each(function(index,item){
//                         var href = $(item).attr('href'); // 获取路径uri
//                     var regexp = /[0-9]+/g;
//                     var txt = $(element).find(' .pl2 a ').text().trim().replace(/[ \n\r]/g,'');
//                 var txt1 = $(element).find(' .pl ').text().trim().replace(/[ \n\r]/g,'');
//                 var txt2 = $(element).find(' .inq ').text().trim().replace(/[ \n\r]/g,'');
//                     if (href == 'https://book.douban.com/top250?icn=index-book250-all') {
//                         title = title.replace(/'/g,'');  // 这个的标题多了一个 单引号， mysql在插入的时候存在问题，所以这样处理了一下
//                     } 
//                     var values = "'" + title + "'" + ',' 
//                             + "'" + author + "'" + ',' 
//                             +  "'" + Introduction + "'," ;
//                     meiziSql = meiziSql + 'insert ignore into meizitu_all(title,author,Introduction) VALUES(' + values + ');';
//                 })
//                 pool.getConnection(function(err, connection) {
//                     if(err){
//                         console.log('数据库连接失败',i);
//                     }
//                     connection.query(meiziSql,function (err, results) {
//                         connection.release();
//                         if (err){
//                             console.log(err,i);
//                         }else{
//                             console.log('插入成功',i);
//                         }
//                     })
//                 })
//             }
//             done();
//         }
//     }]);
// }
c.queue('https://book.douban.com/top250?icn=index-book250-all')